package top.lixunda.common.validate.annotation;

import java.lang.annotation.*;

/**
 * @author Xumda
 * @version time:2019/12/9 10:56
 * <p>
 * 用于char, short, int, long, String
 * 验证范围，包括设置的值
 * 用于String时表示长度，为null时长度为-1
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface XumBetween {

    /**
     * 最小值
     */
    long min();

    /**
     * 最大值
     */
    long max();

    /**
     * 是否包括设置的值，默认包括，闭区间
     */
    boolean include() default true;

    /**
     * 验证不通过时的返回错误信息，属性值将会替换‘#value#’, 属性名将会替换‘#name#’
     */
    String message() default "";

    /**
     * 验证顺序，数值越小首先进行验证
     */
    double order() default -100.0;

}
